#!/usr/bin/env node
/**
 *
 *    Copyright (c) 2020 Silicon Labs
 *
 *    Licensed under the Apache License, Version 2.0 (the "License");
 *    you may not use this file except in compliance with the License.
 *    You may obtain a copy of the License at
 *
 *        http://www.apache.org/licenses/LICENSE-2.0
 *
 *    Unless required by applicable law or agreed to in writing, software
 *    distributed under the License is distributed on an "AS IS" BASIS,
 *    WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
 *    See the License for the specific language governing permissions and
 *    limitations under the License.
 */

/**
 * This script generates metadata for Eclipse packaging.
 * Generated files: apack_zap.package
 */

// apack_zap.package
const fs = require('fs')
const path = require('path')

const packageJson = path.join(__dirname, '../package.json')
const zapPackage = path.join(__dirname, '../apack_zap.package')

fs.readFile(packageJson, 'utf8', (err, data) => {
  if (err) {
    console.log(`Unable to read from package.json:`, err)
    return
  }
  let json = JSON.parse(data)
  let version = json.version
  const template = `<?xml version="1.0" encoding="UTF-8"?>
<!-- This file is generated by ZAP. Do not manually edit this file! -->
<package id="com.silabs.apack.zap.feature"
  label="Adapter Pack for ZCL Advanced Platform"
  description="Provides a runtime interface to ZCL Advanced Platform"
  changelog="releasenotes.md"
  types="apack"
  partCompatibility="mcu.arm.efr32.mg.*"
  version="${version}"/>
`

  console.log(`🐝 Generating ${zapPackage} with version number ${version}`)
  fs.writeFileSync(zapPackage, template)
})
